Web-media streaming has become common place as smart phones, tablets, notebooks, Internet connected televisions, and other devices configured to access the Internet increase in popularity. State-driven network protocols, such as Real Time Streaming Protocol (RTSP) and Real-time Transport Protocol (RTP) are typically used to implement web-media streaming, such as video conferencing. One reason for this is because of the real-time nature of RTSP/RTP that promotes the frequent communication between a client and streaming server via a RTSP/RTP session. For example, once a client connects to the streaming server to establish a session, the streaming server may transmit media content (e.g. video conferencing) as a continuous stream of data and track the state of the client's state until the client disconnects from the streaming server. However, the real-time nature of RTSP/RTP also suffers drawbacks, such as video distortions. In RTSP/RTP, data that is late or lost because of network congestion is generally dropped or ignored within the RTSP/RTP session. In the context of video conferencing and other types of video streaming, dropping data prevents playback stoppage, but may cause video distortions. Although optimization schemes have been implemented for RTSP/RTP to limit video distortion, the optimization schemes are unable to eliminate all video distortions. Video distortions have become a primary concern for premium content providers as users continually demand for better video quality and better viewing experience.
One alternative that alleviates video distortion is the use of adaptive streaming, such as Dynamic Adaptive Streaming over Hypertext Transfer Protocol (HTTP) (DASH). Specifically, DASH delivers media content through HTTP based content distribution networks. In contrast to RTSP/RTP, HTPP is stateless and handles client requests one transaction at a time. When DASH delivers media content to a user device, the user device may dynamically select appropriate segments to download based on a variety of factors, such as network conditions, device capability, and user choice. For example, the user device may select a segment with the highest resolution or bitrate possible that can be downloaded in time for playback without causing stalling or re-buffering events when playing back video or other media types. Thus, the user device may seamlessly adapt its media content playback to changing network conditions. Unfortunately, the current DASH standard is typically configured to support encoding media content as constant bitrate (CBR) streams or streams with small bitrate variation and is less compatible with managing variable bitrate (VBR) streams, which is another type of media content encoding. The lack of support for VBR streams may impede DASH's ability to efficiently manage and deliver media content to end users.